﻿#ifndef SCREEN_H
#define SCREEN_H

#include <QSize>
#include <QPoint>

class Screen
{
public:
    Screen();
    ~Screen();
public:
    enum STATUS{SELECT,MOV,SET_W_H};
    Screen(QSize size);
    void setStart(QPoint pos);
    void setEnd(QPoint pos);
    QPoint getStart();
    QPoint getEnd();

    QPoint getLeftUp();
    QPoint getRightDown();

    STATUS getStatus();
    void setStatus(STATUS status);

    int width();
    int height();
    bool isInArea(QPoint pos);//检测pos是否在截图范围内
    void move(QPoint p); //按p,移动截图区域

private:
    QPoint leftUpPos,rightDownPos;//记录，截图区域，左上角、右下角
    QPoint startPos,endPos; //记录 鼠标开始位置、结束位置
    int maxWidth,maxHeight; //记录屏幕大小
    STATUS status; //三个状态：选择区域，移动区域，设置宽高

    void cmpPoint(QPoint &s,QPoint &e); //比较两位置，判断左上角，右下角
};

#endif // SCREEN_H
